1. Field of the Invention
The present invention relates to a packet relay method and device, and in particular to a packet relay method and device using a ring network based on RPR (Resilient Packet Ring) system as a relay network within an MPLS (Multi Protocol Label Switching) network.
2. Description of the Related Art
FIG. 15 shows a configuration of an RPR ring network (hereinafter, simply referred to as a ring network) generally known in the art. As shown, this ring network NW is composed of RPR nodes 1A-1E (hereinafter, occasionally represented by reference numeral 1) connected in a ring shape with a transmission line L within an MPLS network. The RPR nodes 1A-1E are respectively connected to client terminals 2A-2E (hereinafter, occasionally represented by reference numeral 2) outside the MPLS network.
Between the RPR nodes, a virtual path called an LSP (Label Switching Path) is set up on a point-to-point basis, each LSP being assigned with a label LB for mutual identification. Taking the RPR node 1A as an example, between the RPR node 1A and the RPR nodes 1B-1E, virtual paths LSP1-LSP4 are set up as shown, to which labels LB1-LB4 are assigned for the identification of the virtual paths LSP1-LSP4. While not shown, between other RPR nodes, virtual paths LSP are set up on a point-to-point basis.
The RPR nodes 1A-1E and the client terminals 2A-2E respectively have unique MAC address RA and CA (both in a hexadecimal notation).
Hereinafter, an arrangement of the prior art RPR node and its packet relaying operation will be specifically described preferring to FIGS. 16-20.
Composition of Prior Art RPR Node: FIG. 16
The prior art RPR node 1 shown in FIG. 16 is composed of an RPR card 10 as an interface with the ring network NW, LAN cards 20_1-20—n (hereinafter, occasionally represented by reference numeral 20) as an interface with each of client terminals 2_1-2—n, an SW card 30 for making switching operations between the RPR card 10-LAN card 20, and a CPU 40 for controlling the cards 10-30. The blocks 10_40 are mutually connected with a common bus.
The RPR card 10 comprises a MAC layer portion 11 which receives e.g. an Ethernet (registered trademark) packet PE through the LAN card 20 from the client terminal 2 and acquires a label LB corresponding to a destination client terminal MAC address DA_CL set in the packet PE from a MAC address table TBL1a; an MPLS layer portion 12 which receives the Ethernet packet PE and the label LB from the MAC layer portion 11 to generate an MPLS packet PM; an RPR layer portion 13 which acquires a destination (destination to be relayed) RPR node MAC address DA_ND corresponding to the label LB in the MPLS packet PM provided as an output by the MPLS layer portion 12 from an RPR unicast table TBL2 and adds to the MPLS packet PM an RPR header in which the address DA_ND and its own node MAC address etc. are set to generate an RPR packet PR; PHY portions 14_E-14_W (hereinafter, occasionally represented by reference numeral 14) which transfer the RPR packet RP provided as an output by the RPR layer portion 13 to the ring network NW from an East side (exit) and a West side (exit) of this node.
Next, a packet relaying operation of this RPR node 1 will be described referring to FIGS. 16-20.
Packet Relaying Example of Prior Art RPR Node: FIGS. 16-20
For the relaying operation of the Ethernet packet PE received from the client terminal 2, it is possible for the RPR node 1 to perform (1) a unicast transfer operation, (2) a multicast transfer operation, and (3) a broadcast transfer operation as described in the following (see, Patent document 1):
(1) Unicast Transfer Operation: FIGS. 16-20
Taking a case where the Ethernet packet PE is transferred between the client terminals 2A and 2C (namely, the RPR packet PR is transferred between the RPR nodes 1A and 1C in a unicast) for example, as shown in FIG. 17, the MAC layer portion 11 (see FIG. 16) in the RPR node 1A receives the Ethernet packet PE from the client terminal 2A through the LAN card 20.
The Ethernet packet PE is, as shown in FIG. 17, composed of a destination client terminal MAC address DA_CL of 6 bytes, a source client terminal MAC address SA_CL of 6 bytes, a user data SDU (Service Data Unit) of N bytes (variable length), and FCS (Frame Check Sequence) of 4 bytes. In this example, as shown in FIG. 15, the addresses DA_CL and SA_CL are respectively set with a MAC address “00-00-00-00-22-22” of the client terminal 2C and a MAC address “00-00-00-00-55-55” of the client terminal 2A.
The MAC layer portion 11 acquires from the MAC address table TBL1a a label LB corresponding to the client terminal MAC address DA_CL=“00-00-00-00-22-22” in the Ethernet packet PE.
In the table TBL1a, as shown in FIG. 18, the destination client terminal MAC address DA_CL with reference to the RPR node 1A, namely MAC addresses “00-00-00-00-11-11”, “00-00-00-00-22-22”, “00-00-00-00-33-33”, and “00-00-00-00-44-44” of the client terminals 2B-2D are stored in association with label values “1”-“4” of the labels LB1-LB4 shown in FIG. 15. Also, the table TBL1a includes a valid/invalid flag VLD indicating whether or not a packet transfer with respect to each destination client terminal MAC address DA_CL is valid, in which the MAC layer portion 11 acquires the label LB from the table TBL1a when the flag VLD is “1 (valid)”. A multicast address “80-00-00-00-77-77” is also shown in the table TBL1a, which will be described in the following (2).
The valid-invalid flag VLD corresponding to the destination client terminal MAC address DA_CL=“00-00-00-00-22-22” is now set to “1”, so that the MAC layer portion 11 acquires the label value “2” of the label LB2 to be provided to the MPLS layer portion 12 together with the Ethernet packet PE.
The MPLS layer portion 12, as shown in FIG. 17, adds an MPLS header HD1 of 4 bytes including the above noted label LB2 to the Ethernet packet PE to generate an MPLS packet PM to be provided to the RPR layer portion 13.
The above noted MPLS header HD1 is, as shown in FIG. 19, composed of a label field F1 of 20 bits, an EXP field F2 of 3 bits, an S field F3 of 1 bit, and a TTL field F4 of 8 bits. The label field F1 is set with the label value “2” of the label LB2 in the MPLS layer portion 12. The EXP field F2 is an experimental use area which is set with CoS (Class of Service) in recent years. The S field F3 is an area for setting a terminal identifier where the MPLS header HD1 has a stack arrangement, the TTL (Time To Live) field F4 is an area for setting an allowable life time of the MPLS packet PM in the MPLS network, where the RPR mode 1 does not use the TTL field F4.
As shown in FIG. 17, the RPR layer portion 13 generates an RPR packet PR in which the MPLS packet PM is added with an RPR header HD2, and transfers it to the ring network NW from East side of the RPR node 1A (route to the RPR node 1C through the RPR node 1B) through e.g. the PHY portion 14_E. It is here assumed that a transferring direction (East side, West side) of the RPR packet PR to the ring network NW is predetermined by a maintenance person etc.
The above noted RPR header HD2 is composed of an allowable life time TTL (1 byte) of the RPR packet PR on the ring network NW as shown, an area Base Control (1 byte) for storing control information, a MAC address DA_ND (6 bytes) of the destination RPR node, a MAC address SA_ND (6 bytes) of the destination RPR node, an area TTL B ase (1 byte) for storing an initial setting of the allowable life time TTL, an area Extended Control (1 byte) for storing Extended Control information, and an area HEC (Header Error Control; 4 bytes) for storing error correcting control information. The RPR layer portion 13 sets a MAC address “00-00-00-00-00-00” and “255” (expressable maximum value with 1 byte) of the RPR node 1A respectively in the address SA_ND and allowable life time TTL.
Also, the RPR layer portion 13 acquires the MAC address DA_ND of the destination RPR node corresponding to the label LB2 from the RPR unicast table TBL2 and sets it in the RPR header HD2.
In the table TBL2, as shown in FIG. 20, the label values “1”-“4” of the labels LB1-LB4 shown in FIG. 15 are stored in association with MAC addresses “00-00-00-00-00-01”, “00-00-00-00-00-02”, “00-00-00-00-00-03”, and “00-00-00-00-00-04” of the RPR nodes 1B-1E, respectively. Also, the table TBL2 includes a valid/invalid flag VLD indicating whether or not a transfer of the RPR packet PR to the ring network NW is valid, in which the RPR layer portion 13 acquires an RPR node MAC address RA as the destination RPR node MAC address DA_ND from the table TBL2 when the flag VLD is “1 (valid)”.
The valid/invalid flag VLD corresponding to the label value “2” of the label LB2 is now set to “1”, so that the RPR layer portion 13 acquires the MAC address “00-00-00-00-00-02” of the RPR node 1C as the destination RPR node MAC address DA_ND and sets it in the RPR header HD2.
The RPR layer portion 13 within the RPR node 1B having received from its West side the RPR packet ER thus transferred over the ring network NW refers to the destination RPR node MAC address DA_ND in the RPR header HD2 of the RPR packet PR. Since this address DA_ND “00-00-00-00-00-02” does not indicate its own node MAC address “00-00-00-00-00-01”, the RPR node 1B does not transmit the RPR packet PR to the client terminal 2B connected to the node 1B, but further transfers to the ring network NW from the opposite side (East side) to the receiving side (West side). At this time, the RPR layer portion 13 decrements the allowable life time TTL in the RPR header HD2 by “1”.
The RPR layer portion 13 in the RPR node 1C having received the RPR packet PR transferred from the RPR node 1B refers to the destination RPR node MAC address DA_ND in the RPR header HD2, which indicates its own node MAC address “00-00-00-00-00-02”, so that the RPR layer portion 13 provides the MPLS packet PM obtained by removing the RPR header HD2 from the RPR packet PR to the MPLS layer portion 12.
The MPLS layer portion 12 provides the Ethernet packet PE obtained by removing the MPLS header HD1 from the MPLS packet PM to the MAC layer portion 11. The MAC layer portion 11 provides the Ethernet packet PE to an SW card 30 for the switching. Since the destination client MAC address DA_CL in the Ethernet packet PE is set with the MAC address “00-00-00-00-22-22” of the client terminal 2C, the SW card 30 transmits the Ethernet packet PE to the client terminal 2C through the LAN card 20.
Thus, it becomes possible to transfer the Ethernet packet PE received from the client terminal 2A to the client terminal 2C in unicast mode.
The value of the allowable life time TTL in the above noted RPR header HD2 is to be decremented by “1” every time the packet passes through the RPR node 1 on the ring network NW as described above, so that the RPR node 1 having received the RPR packet in the state of the allowable life time TTL “1” (namely, state where the life time of the RPR packet PR on the ring network NW reaches an allowable time period) does not transfer the received RPR packet PR to the ring network NW. When the MAC address SA_ND of the source RPR node in the RPR header HD2 of the received RPR packet PR coincides with its own node MAC address, the RPR node 1 finds that the RPR packet PR transmitted from the node 1 itself goes around the ring network NW and has returned, and discards the received RPR packet PR.
(2) Multicast Transfer Operation: FIGS. 18 and 20
In the MAC address table TBL1a shown in FIG. 18, as described above, the multicast address “80-00-00-00-77-77” (where “1” is set at the most significant bit) is stored in association with the label values “1”-“3” of the labels LB1-LB3 respectively of the destination client terminals 2B-2D corresponding to that multicast address. When the destination client terminal MAC address DA_CL in the Ethernet packet PE received from the client terminal 2A is “80-00-00-00-77-77”, the MAC later portion 11 in the RPR node 1A acquires the label values “1”-“3” of the labels LB1-LB3 from the table TBL1a. 
Then, the MAC layer portion 11 copies the received Ethernet packet PE to assume 3 that is the number of destinations, for the number of label values together with the label values “1”-“3” to be provided to the MPLS layer portion 12.
The MPLS layer portion 12 adds the MPLS header HD1 set with the label values “1”-“3” to each Ethernet packet PE to generate 3 MPLS packets PM to be provided to the RPR layer portion 13.
The RPR layer portion 13 acquires the MAC addresses “00-00-00-00-00-01”, “00-00-00-00-00-02”, and “00-00-00-00-00-03” of the RPR nodes 1B-1D respectively corresponding to the label values “1”-“3” from the RPR unicast table TBL2 shown in FIG. 20, and the RPR header HD2 in which those MAC addresses are set as the destination RPR node MAC address DA_ND to each MPLS packet PM to generate 3 RPR packets PM to be transferred to the ring network NW through the PHY portion 14.
The RPR nodes 1B-1D having received the RPR packet PR transferred to the ring network NW as described above obtains the Ethernet packet PE from the RPR packet PR in the same way as the above unicast transfer operation to be transferred to the client terminals 2B-2D.
Thus, it becomes possible to transfer the Ethernet packet PE received from the client terminal 2A to the client terminals 2B-2D in multicast mode.
(3) Broadcast transfer operation: Not shown
When the destination client terminal MAC address DA_CL in the Ethernet packet PE received from the client terminal 2A is a broadcast address (not shown), the RPR node 1A acquires the label values “1”-“4” of the labels LB1-LB4 from the MAC address TBL1a shown in FIG. 18.
The RPR node 1A then generates 4 RPR packets PR (namely, RPR packets PR addressed to all of the RPR nodes 1B-1E) in the same way as the multicast transfer operation to be transferred to the ring network NW through the PHY portion 14.
The RPR nodes 1B-1E having received the RPR packet PR thus transferred to the ring network NW obtains the Ethernet packet PE from the RPR packet PR in the same way as the above unicast transfer operation to be transmitted to the client terminals 2B-2E.
Thus it becomes possible to transfer the Ethernet packet PE received from the client terminal 2A to all of the client terminals 2B-2E in broadcast mode.
In case where the ring network NW is composed of label switching routers etc., the MPLS packet PM is transferred to the ring network NW for the relaying operations based on the label LB set in the MPLS header HD1. Also in this case, upon the multicast transfer or broadcast transfer, copying the Ethernet packet PE is performed in the same way as the above.    [Patent document 1] Japanese Patent Application Laid-Open No. 2004-242194
The above prior art has a problem that upon transferring a packet received from a client terminal to a ring network in multicast mode or broadcast mode, the packet is copied by the number of destination client terminals corresponding to the multicast address or broadcast address, so that the processing load within the RPR node caused by such copying is high.
Particularly, in case where the number of the RPR nodes composing the ring network is numerous, the copying processes of packet are congested, resulting in occurrence of defects or losses of the packet received from the client terminals.
Also, it has another problem that packets of the number of destination client terminals are to be transferred over the ring network, introducing a high bandwidth load.